<?php
namespace ImiApp\Module\Member\Service\Base;

use Imi\Model\Model;
use Imi\Model\Annotation\DDL;
use Imi\Model\Annotation\Table;
use Imi\Model\Annotation\Column;
use Imi\Model\Annotation\Entity;

/**
 * 版本表 基类
 * @Entity
 * @Table(name="sc_version", id={"id"})
 * @DDL("CREATE TABLE `sc_version` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `oldversion` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '旧版本号',
  `newversion` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '新版本号',
  `packagesize` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '包大小',
  `content` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '升级内容',
  `downloadurl` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '下载地址',
  `enforce` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '强制更新',
  `createtime` int(10) DEFAULT NULL COMMENT '创建时间',
  `updatetime` int(10) DEFAULT NULL COMMENT '更新时间',
  `weigh` int(10) NOT NULL DEFAULT '0' COMMENT '权重',
  `status` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '状态',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=COMPACT COMMENT='版本表'")
 * @property int $id ID
 * @property string $oldversion 旧版本号
 * @property string $newversion 新版本号
 * @property string $packagesize 包大小
 * @property string $content 升级内容
 * @property string $downloadurl 下载地址
 * @property int $enforce 强制更新
 * @property int $createtime 创建时间
 * @property int $updatetime 更新时间
 * @property int $weigh 权重
 * @property string $status 状态
 */
abstract class ScVersionBase extends Model
{
    /**
     * ID
     * id
     * @Column(name="id", type="int", length=11, accuracy=0, nullable=false, default="", isPrimaryKey=true, primaryKeyIndex=0, isAutoIncrement=true)
     * @var int
     */
    protected $id;

    /**
     * 获取 id - ID
     *
     * @return int
     */ 
    public function getId()
    {
        return $this->id;
    }

    /**
     * 赋值 id - ID
     * @param int $id id
     * @return static
     */ 
    public function setId($id)
    {
        $this->id = $id;
        return $this;
    }

    /**
     * 旧版本号
     * oldversion
     * @Column(name="oldversion", type="varchar", length=30, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $oldversion;

    /**
     * 获取 oldversion - 旧版本号
     *
     * @return string
     */ 
    public function getOldversion()
    {
        return $this->oldversion;
    }

    /**
     * 赋值 oldversion - 旧版本号
     * @param string $oldversion oldversion
     * @return static
     */ 
    public function setOldversion($oldversion)
    {
        $this->oldversion = $oldversion;
        return $this;
    }

    /**
     * 新版本号
     * newversion
     * @Column(name="newversion", type="varchar", length=30, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $newversion;

    /**
     * 获取 newversion - 新版本号
     *
     * @return string
     */ 
    public function getNewversion()
    {
        return $this->newversion;
    }

    /**
     * 赋值 newversion - 新版本号
     * @param string $newversion newversion
     * @return static
     */ 
    public function setNewversion($newversion)
    {
        $this->newversion = $newversion;
        return $this;
    }

    /**
     * 包大小
     * packagesize
     * @Column(name="packagesize", type="varchar", length=30, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $packagesize;

    /**
     * 获取 packagesize - 包大小
     *
     * @return string
     */ 
    public function getPackagesize()
    {
        return $this->packagesize;
    }

    /**
     * 赋值 packagesize - 包大小
     * @param string $packagesize packagesize
     * @return static
     */ 
    public function setPackagesize($packagesize)
    {
        $this->packagesize = $packagesize;
        return $this;
    }

    /**
     * 升级内容
     * content
     * @Column(name="content", type="varchar", length=500, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $content;

    /**
     * 获取 content - 升级内容
     *
     * @return string
     */ 
    public function getContent()
    {
        return $this->content;
    }

    /**
     * 赋值 content - 升级内容
     * @param string $content content
     * @return static
     */ 
    public function setContent($content)
    {
        $this->content = $content;
        return $this;
    }

    /**
     * 下载地址
     * downloadurl
     * @Column(name="downloadurl", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $downloadurl;

    /**
     * 获取 downloadurl - 下载地址
     *
     * @return string
     */ 
    public function getDownloadurl()
    {
        return $this->downloadurl;
    }

    /**
     * 赋值 downloadurl - 下载地址
     * @param string $downloadurl downloadurl
     * @return static
     */ 
    public function setDownloadurl($downloadurl)
    {
        $this->downloadurl = $downloadurl;
        return $this;
    }

    /**
     * 强制更新
     * enforce
     * @Column(name="enforce", type="tinyint", length=1, accuracy=0, nullable=false, default="0", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $enforce;

    /**
     * 获取 enforce - 强制更新
     *
     * @return int
     */ 
    public function getEnforce()
    {
        return $this->enforce;
    }

    /**
     * 赋值 enforce - 强制更新
     * @param int $enforce enforce
     * @return static
     */ 
    public function setEnforce($enforce)
    {
        $this->enforce = $enforce;
        return $this;
    }

    /**
     * 创建时间
     * createtime
     * @Column(name="createtime", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $createtime;

    /**
     * 获取 createtime - 创建时间
     *
     * @return int
     */ 
    public function getCreatetime()
    {
        return $this->createtime;
    }

    /**
     * 赋值 createtime - 创建时间
     * @param int $createtime createtime
     * @return static
     */ 
    public function setCreatetime($createtime)
    {
        $this->createtime = $createtime;
        return $this;
    }

    /**
     * 更新时间
     * updatetime
     * @Column(name="updatetime", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $updatetime;

    /**
     * 获取 updatetime - 更新时间
     *
     * @return int
     */ 
    public function getUpdatetime()
    {
        return $this->updatetime;
    }

    /**
     * 赋值 updatetime - 更新时间
     * @param int $updatetime updatetime
     * @return static
     */ 
    public function setUpdatetime($updatetime)
    {
        $this->updatetime = $updatetime;
        return $this;
    }

    /**
     * 权重
     * weigh
     * @Column(name="weigh", type="int", length=10, accuracy=0, nullable=false, default="0", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $weigh;

    /**
     * 获取 weigh - 权重
     *
     * @return int
     */ 
    public function getWeigh()
    {
        return $this->weigh;
    }

    /**
     * 赋值 weigh - 权重
     * @param int $weigh weigh
     * @return static
     */ 
    public function setWeigh($weigh)
    {
        $this->weigh = $weigh;
        return $this;
    }

    /**
     * 状态
     * status
     * @Column(name="status", type="varchar", length=30, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $status;

    /**
     * 获取 status - 状态
     *
     * @return string
     */ 
    public function getStatus()
    {
        return $this->status;
    }

    /**
     * 赋值 status - 状态
     * @param string $status status
     * @return static
     */ 
    public function setStatus($status)
    {
        $this->status = $status;
        return $this;
    }

}
